<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schemas.datacontract.org/2004/07/Spenta.StreetCare.Core.Models" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/Spenta.StreetCare.Core.Models" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://streetscene.cloudapp.net/Services/Api.svc?xsd=xsd5" namespace="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" />
  <xs:complexType name="User">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q1="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q1:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Assignments" nillable="true" type="tns:ArrayOfAssignment" />
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="Reports" nillable="true" type="tns:ArrayOfReport" />
          <xs:element minOccurs="0" name="UserID" type="xs:int" />
          <xs:element minOccurs="0" name="UserIdentityProvider" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserNameIdentifier" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="UserNickname" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="User" nillable="true" type="tns:User" />
  <xs:complexType name="ArrayOfAssignment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Assignment" nillable="true" type="tns:Assignment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfAssignment" nillable="true" type="tns:ArrayOfAssignment" />
  <xs:complexType name="Assignment">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q2="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q2:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="AssignmentCustomerID" type="xs:int" />
          <xs:element minOccurs="0" name="AssignmentRole" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="AssignmentUserID" type="xs:int" />
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="CustomerReference" nillable="true" type="q2:EntityReferenceOfCustomerV4fEBwNN" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q2:EntityReferenceOfUserV4fEBwNN" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Assignment" nillable="true" type="tns:Assignment" />
  <xs:complexType name="Customer">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q3="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q3:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Assignments" nillable="true" type="tns:ArrayOfAssignment" />
          <xs:element minOccurs="0" name="Categories" nillable="true" type="tns:ArrayOfCategory" />
          <xs:element minOccurs="0" name="CustomerHostname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CustomerID" type="xs:int" />
          <xs:element minOccurs="0" name="CustomerLatitude" type="xs:double" />
          <xs:element minOccurs="0" name="CustomerLogoUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CustomerLongitude" type="xs:double" />
          <xs:element minOccurs="0" name="CustomerMapCredentials" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CustomerName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CustomerZoom" type="xs:int" />
          <xs:element minOccurs="0" name="Reports" nillable="true" type="tns:ArrayOfReport" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="tns:ArrayOfStatus" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Customer" nillable="true" type="tns:Customer" />
  <xs:complexType name="ArrayOfCategory">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Category" nillable="true" type="tns:Category" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategory" nillable="true" type="tns:ArrayOfCategory" />
  <xs:complexType name="Category">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q4="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q4:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="CategoryColor" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryCustomerID" type="xs:int" />
          <xs:element minOccurs="0" name="CategoryDescription" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryID" type="xs:int" />
          <xs:element minOccurs="0" name="CategoryImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryKey" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CategoryTitle" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="CustomerReference" nillable="true" type="q4:EntityReferenceOfCustomerV4fEBwNN" />
          <xs:element minOccurs="0" name="Reports" nillable="true" type="tns:ArrayOfReport" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Category" nillable="true" type="tns:Category" />
  <xs:complexType name="ArrayOfReport">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Report" nillable="true" type="tns:Report" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfReport" nillable="true" type="tns:ArrayOfReport" />
  <xs:complexType name="Report">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q5="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q5:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Category" nillable="true" type="tns:Category" />
          <xs:element minOccurs="0" name="CategoryReference" nillable="true" type="q5:EntityReferenceOfCategoryV4fEBwNN" />
          <xs:element minOccurs="0" name="Comments" nillable="true" type="tns:ArrayOfComment" />
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="CustomerReference" nillable="true" type="q5:EntityReferenceOfCustomerV4fEBwNN" />
          <xs:element minOccurs="0" name="NotificationType" nillable="true" type="tns:NotificationType" />
          <xs:element minOccurs="0" name="NotificationTypeReference" nillable="true" type="q5:EntityReferenceOfNotificationTypeV4fEBwNN" />
          <xs:element minOccurs="0" name="ReportBy" type="xs:int" />
          <xs:element minOccurs="0" name="ReportCategoryID" type="xs:int" />
          <xs:element minOccurs="0" name="ReportCustomerID" type="xs:int" />
          <xs:element minOccurs="0" name="ReportFixedImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReportID" type="xs:int" />
          <xs:element minOccurs="0" name="ReportImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReportLatitude" type="xs:double" />
          <xs:element minOccurs="0" name="ReportLocation" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReportLongitude" type="xs:double" />
          <xs:element minOccurs="0" name="ReportNotificationDetails" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReportNotificationTypeID" type="xs:int" />
          <xs:element minOccurs="0" name="ReportStatusID" type="xs:int" />
          <xs:element minOccurs="0" name="ReportStatusWhen" type="xs:dateTime" />
          <xs:element minOccurs="0" name="ReportTitle" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="ReportWhen" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Status" nillable="true" type="tns:Status" />
          <xs:element minOccurs="0" name="StatusReference" nillable="true" type="q5:EntityReferenceOfStatusV4fEBwNN" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q5:EntityReferenceOfUserV4fEBwNN" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Report" nillable="true" type="tns:Report" />
  <xs:complexType name="ArrayOfComment">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Comment" nillable="true" type="tns:Comment" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfComment" nillable="true" type="tns:ArrayOfComment" />
  <xs:complexType name="Comment">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q6="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q6:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="CommentBy" type="xs:int" />
          <xs:element minOccurs="0" name="CommentFor" type="xs:int" />
          <xs:element minOccurs="0" name="CommentID" type="xs:int" />
          <xs:element minOccurs="0" name="CommentRating" type="xs:double" />
          <xs:element minOccurs="0" name="CommentText" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="CommentWhen" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Report" nillable="true" type="tns:Report" />
          <xs:element minOccurs="0" name="ReportReference" nillable="true" type="q6:EntityReferenceOfReportV4fEBwNN" />
          <xs:element minOccurs="0" name="User" nillable="true" type="tns:User" />
          <xs:element minOccurs="0" name="UserReference" nillable="true" type="q6:EntityReferenceOfUserV4fEBwNN" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Comment" nillable="true" type="tns:Comment" />
  <xs:complexType name="NotificationType">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q7="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q7:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="NotificationTypeID" type="xs:int" />
          <xs:element minOccurs="0" name="NotificationTypeKey" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="NotificationTypeTitle" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Reports" nillable="true" type="tns:ArrayOfReport" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="NotificationType" nillable="true" type="tns:NotificationType" />
  <xs:complexType name="Status">
    <xs:complexContent mixed="false">
      <xs:extension xmlns:q8="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" base="q8:EntityObject">
        <xs:sequence>
          <xs:element minOccurs="0" name="Customer" nillable="true" type="tns:Customer" />
          <xs:element minOccurs="0" name="CustomerReference" nillable="true" type="q8:EntityReferenceOfCustomerV4fEBwNN" />
          <xs:element minOccurs="0" name="Reports" nillable="true" type="tns:ArrayOfReport" />
          <xs:element minOccurs="0" name="StatusCustomerID" type="xs:int" />
          <xs:element minOccurs="0" name="StatusID" type="xs:int" />
          <xs:element minOccurs="0" name="StatusImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="StatusKey" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="StatusTitle" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Status" nillable="true" type="tns:Status" />
  <xs:complexType name="ArrayOfStatus">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Status" nillable="true" type="tns:Status" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStatus" nillable="true" type="tns:ArrayOfStatus" />
  <xs:complexType name="ArrayOfCategoryWithCount">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="CategoryWithCount" nillable="true" type="tns:CategoryWithCount" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfCategoryWithCount" nillable="true" type="tns:ArrayOfCategoryWithCount" />
  <xs:complexType name="CategoryWithCount">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Category">
        <xs:sequence>
          <xs:element minOccurs="0" name="IsDefault" type="xs:boolean" />
          <xs:element minOccurs="0" name="IsDirty" type="xs:boolean" />
          <xs:element minOccurs="0" name="ReportCount" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="CategoryWithCount" nillable="true" type="tns:CategoryWithCount" />
  <xs:complexType name="ArrayOfStatusWithCount">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="StatusWithCount" nillable="true" type="tns:StatusWithCount" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStatusWithCount" nillable="true" type="tns:ArrayOfStatusWithCount" />
  <xs:complexType name="StatusWithCount">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:Status">
        <xs:sequence>
          <xs:element minOccurs="0" name="IsDirty" type="xs:boolean" />
          <xs:element minOccurs="0" name="ReportCount" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="StatusWithCount" nillable="true" type="tns:StatusWithCount" />
</xs:schema>